<?php



class FacturacionProductoPresentacionMapBuilder implements MapBuilder {

	
	const CLASS_NAME = 'plugins/facturacion/lib/model.map.FacturacionProductoPresentacionMapBuilder';

	
	private $dbMap;

	
	public function isBuilt()
	{
		return ($this->dbMap !== null);
	}

	
	public function getDatabaseMap()
	{
		return $this->dbMap;
	}

	
	public function doBuild()
	{
		$this->dbMap = Propel::getDatabaseMap(FacturacionProductoPresentacionPeer::DATABASE_NAME);

		$tMap = $this->dbMap->addTable(FacturacionProductoPresentacionPeer::TABLE_NAME);
		$tMap->setPhpName('FacturacionProductoPresentacion');
		$tMap->setClassname('FacturacionProductoPresentacion');

		$tMap->setUseIdGenerator(true);

		$tMap->setPrimaryKeyMethodInfo('facturacion.seq_producto_presentacion');

		$tMap->addPrimaryKey('ID', 'Id', 'INTEGER', true, null);

		$tMap->addForeignKey('UNIDAD_DE_MEDIDA_ID', 'UnidadDeMedidaId', 'INTEGER', 'facturacion.unidad_de_medida', 'ID', true, null);

		$tMap->addForeignKey('PRODUCTO_ID', 'ProductoId', 'INTEGER', 'facturacion.producto', 'ID', true, null);

		$tMap->addColumn('NOMBRE', 'Nombre', 'VARCHAR', false, 255);

		$tMap->addColumn('CANTIDAD', 'Cantidad', 'BIGINT', false, null);

		$tMap->addColumn('PRECIO', 'Precio', 'DOUBLE', false, null);

		$tMap->addForeignKey('PUC_ID', 'PucId', 'BIGINT', 'contabilidad.puc', 'ID', true, null);

		$tMap->addForeignKey('IVA_ID', 'IvaId', 'BIGINT', 'contabilidad.iva', 'ID', false, null);

        $tMap->addValidator('ID', 'required_ID', 'RequiredValidator', '', 'Este campo es necesario');
    
        $tMap->addValidator('UNIDAD_DE_MEDIDA_ID', 'required_UNIDAD_DE_MEDIDA_ID', 'RequiredValidator', '', 'Este campo es necesario');
    
        $tMap->addValidator('PRODUCTO_ID', 'required_PRODUCTO_ID', 'RequiredValidator', '', 'Este campo es necesario');
    
        $tMap->addValidator('NOMBRE', 'maxLength_NOMBRE', 'MaxLengthValidator', 255, 'El valor tiene demasiados caracteres. [max= 255]');
    
        $tMap->addValidator('PUC_ID', 'required_PUC_ID', 'RequiredValidator', '', 'Este campo es necesario');
    
	} 
} 